load("@prysm//tools/go:def.bzl", "go_library", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "attestation_data.go",
        "beacon_api_beacon_chain_client.go",
        "beacon_api_helpers.go",
        "beacon_api_node_client.go",
        "beacon_api_validator_client.go",
        "beacon_block_converter.go",
        "beacon_block_json_helpers.go",
        "beacon_block_proto_helpers.go",
        "beacon_committee_selections.go",
        "domain_data.go",
        "doppelganger.go",
        "duties.go",
        "genesis.go",
        "get_beacon_block.go",
        "index.go",
        "json_rest_handler.go",
        "log.go",
        "metrics.go",
        "prepare_beacon_proposer.go",
        "propose_attestation.go",
        "propose_beacon_block.go",
        "propose_exit.go",
        "prysm_beacon_chain_client.go",
        "registration.go",
        "state_validators.go",
        "status.go",
        "stream_blocks.go",
        "submit_aggregate_selection_proof.go",
        "submit_signed_aggregate_proof.go",
        "submit_signed_contribution_and_proof.go",
        "subscribe_committee_subnets.go",
        "sync_committee.go",
        "sync_committee_selections.go",
    ],
    importpath = "github.com/prysmaticlabs/prysm/v5/validator/client/beacon-api",
    visibility = ["//validator:__subpackages__"],
    deps = [
        "//api:go_default_library",
        "//api/client/beacon:go_default_library",
        "//api/client/event:go_default_library",
        "//api/server/structs:go_default_library",
        "//beacon-chain/core/helpers:go_default_library",
        "//beacon-chain/core/signing:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//consensus-types/validator:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//monitoring/tracing/trace:go_default_library",
        "//network/forks:go_default_library",
        "//network/httputil:go_default_library",
        "//proto/engine/v1:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/version:go_default_library",
        "//time/slots:go_default_library",
        "//validator/client/iface:go_default_library",
        "@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
        "@com_github_golang_protobuf//ptypes/empty",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_prometheus_client_golang//prometheus:go_default_library",
        "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@org_golang_google_grpc//:go_default_library",
        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
        "@org_golang_x_sync//errgroup:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    size = "small",
    srcs = [
        "attestation_data_test.go",
        "beacon_api_beacon_chain_client_test.go",
        "beacon_api_helpers_test.go",
        "beacon_api_node_client_test.go",
        "beacon_api_validator_client_test.go",
        "beacon_block_converter_test.go",
        "beacon_block_json_helpers_test.go",
        "beacon_block_proto_helpers_test.go",
        "beacon_committee_selections_test.go",
        "domain_data_test.go",
        "doppelganger_test.go",
        "duties_test.go",
        "genesis_test.go",
        "get_beacon_block_test.go",
        "index_test.go",
        "json_rest_handler_test.go",
        "prepare_beacon_proposer_test.go",
        "propose_attestation_test.go",
        "propose_beacon_block_altair_test.go",
        "propose_beacon_block_bellatrix_test.go",
        "propose_beacon_block_blinded_bellatrix_test.go",
        "propose_beacon_block_blinded_capella_test.go",
        "propose_beacon_block_blinded_deneb_test.go",
        "propose_beacon_block_blinded_electra_test.go",
        "propose_beacon_block_capella_test.go",
        "propose_beacon_block_deneb_test.go",
        "propose_beacon_block_electra_test.go",
        "propose_beacon_block_fulu_test.go",
        "propose_beacon_block_phase0_test.go",
        "propose_beacon_block_test.go",
        "propose_exit_test.go",
        "registration_test.go",
        "state_validators_test.go",
        "status_test.go",
        "stream_blocks_test.go",
        "submit_aggregate_selection_proof_test.go",
        "submit_signed_aggregate_proof_test.go",
        "submit_signed_contribution_and_proof_test.go",
        "subscribe_committee_subnets_test.go",
        "sync_committee_selections_test.go",
        "sync_committee_test.go",
        "validator_count_test.go",
        "wait_for_chain_start_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//api:go_default_library",
        "//api/server/structs:go_default_library",
        "//beacon-chain/core/helpers:go_default_library",
        "//beacon-chain/rpc/eth/shared/testing:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//consensus-types/validator:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//network/httputil:go_default_library",
        "//proto/engine/v1:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/version:go_default_library",
        "//testing/assert:go_default_library",
        "//testing/require:go_default_library",
        "//time/slots:go_default_library",
        "//validator/client/beacon-api/mock:go_default_library",
        "//validator/client/beacon-api/test-helpers:go_default_library",
        "//validator/client/iface:go_default_library",
        "@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
        "@com_github_golang_protobuf//ptypes/empty",
        "@com_github_pkg_errors//:go_default_library",
        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
        "@org_uber_go_mock//gomock:go_default_library",
    ],
)
